const express = require('express');
const session = require('express-session');

const app = express();

app.use(session({
    name: 'sid',  // 设置cookie的name，默认值是：connect.sid
    secret: '0825', // 参与加密的字符串（又称签名）
    saveUninitialized: false, //是否为每次请求都设置一个cookie用来存储session的id
    resave: false,// 强制保存 session 即使它并没有变化,。默认为 true。建议设置成 false。
    cookie: {
        httpOnly: true, // 开启后,前端无法通过 JS 操作
        maxAge: 1000 * 30 * 30 // 这一条 是控制 sessionID 的过期时间的！！！
    }
}));

app.get('/', (req, res) => {
    res.send('显示成功');
})

// 设置session
app.get('/set-session',(req,res)=>{

    // 存储内存
    req.session.username = "laowang";
    req.session.age = 18;
    req.session.email = "123@163.com"
    res.send('设置成功');
})

app.get('/center',(req,res)=>{

    if(req.session.username){
        res.send(`${req.session.username}的个人中心页`);
    }else{
        res.redirect('/login');
    }

})

//删除session - 需要验证
app.get('/del-session',(req,res)=>{

    if(req.session.username){
        console.log("执行了删除");
        req.session.destroy(()=>{
            res.send('删除成功');
        })
    }else{
        res.redirect('/login');
    }
    
});

app.get('/login',(req,res)=>{
    res.send('登录页');
})


app.listen(80, () => {
    console.log("启动成功");
})